Photo by GeoJango Maps on Unsplash
相信很多人應該跟我當初踏入這個領域的時候一樣,對於 GIS 這個名詞都有些陌生。
GIS 是 Geographic Information System 的縮寫,中文翻譯為地理資訊系統。
直觀地來看,就是指一種跟地理資料有關的資訊系統。而根據維基百科的定義,
一個地理資訊系統是一種具有資訊系統空間專業形式的資料管理系統。在嚴格的意義上,這是一個具有集中、儲存、操作、和顯示地理參考資訊的電腦系統。
換句話說,透過地理資訊系統,我們可以整理與歸納地理空間的相關資訊,進而輔助我們做決策或發現特定現象或趨勢。
通常一個 GIS 系統都會搭配一個空間資料庫,用來儲存空間資料與屬性資料。
以 Android App 來說,筆者有使用過的是 Spatialite 這套資料庫系統,有關這套資料庫系統會在後面的文章中介紹。
在生活中最常見的 App GIS 應用,就是 Google Maps 了。
我們可以透過關鍵字查詢地點資訊,也可以查找目前位置特定距離內的地理資訊,或是透過不同圖層設定切換,來查看目前的車流與交通狀況。
而以國內的應用服務來說,中央氣象局 (現已改制為中央氣象署) 的 中央氣象局W 與 環境部的環境即時通,都是 GIS應用在 App 上很好的範例。
使用者透過裝置取得的目前位置,可以查找周遭的空品與天氣資訊,進而做出是否外出活動等生活決策。
整理一些在 GIS 應用中常遇到的資料格式與背景知識
首先,讓我們先快速地了解一下座標系統。
一個完整的座標系統格式是由大地基準 (Geodetic Datum) 與 座標格式 (Format/Grid) 所組成。大地基準代表的是座標系統量測的依據。座標格式代表的則是座標的表示方式。而座標格式又可分為 GCS 地理/球面座標與 PCS 投影座標。
大地基準 (Geodetic Datum) | 座標格式 (Format/Grid) | |
---|---|---|
說明 | 大地量測時做為計算依據的事物。 | 座標格式又可分為1. GCS 地理座標 (經緯度)2. PCS 投影座標 (平⾯座標) |
舉例 | TWD67、TWD97、WGS84 | TM2、經緯度 |
只要大地基準或座標格式任一不相同,空間資料在處理時就會存在誤差,所以在處理空間資料前,一定要先確認兩者的座標系統,如有不同就要將其轉換成相同的座標系統後,再做處理~
EPSG | 大地基準 | 座標格式 | 類型 | 用途/適用範圍 |
---|---|---|---|---|
3824 | TWD97 | 經緯度 | GCS | 國土測繪中心發佈全國性資料 |
3825 | TWD97 | TM2 zone 119 | PCS | 澎湖、金門、馬祖 |
3826 | TWD97 | TM2 zone 121 | PCS | 臺灣、琉球嶼、綠島、蘭嶼及龜山島 |
3827 | TWD67 | TM2 zone 119 | PCS | 澎湖、金門、馬祖 (早期) |
3828 | TWD67 | TM2 zone 121 | PCS | 臺灣、琉球嶼、綠島、蘭嶼及龜山島 (早期) |
3857 | WGS84 | Spherical Mercator | PCS | 多數圖磚、WMTS 服務都使用此座標系統。(Google, Mapbox, OpenStreetMap) |
4326 | WGS84 | 經緯度 | GCS | 全球性資料主流 (Google Maps, GPS) |
以埔里的地理中心碑為例:
EPSG | X 座標 | Y 座標 |
---|---|---|
3824 | 23.973875 | 120.982025 |
3826 | 2652130 | 248171 |
3828 | 2652336 | 247342 |
有需要使用座標轉換的讀者,可以參考 上河文化: 台灣及澎湖座標轉換與地理定位 的服務。
有關座標系的詳細說明,有興趣的讀者可以看以下推薦的文章,都說明得很清楚~
WMTS 全稱是 Web Map Tile Service,是一種將高品質地圖依據網格系統切割成小圖磚發布的網路服務。
在後面幾天的 Google Maps SDK 介紹中,我們將實際套疊由 內政部國土測繪中心 所提供的 台灣通用電子地圖 WMTS 服務。
MBTiles is a file format for storing map tiles in a single file. It is, technically, a SQLite database.
MBTiles
MBTiles 是一種能將圖磚檔案儲存在單一檔案的檔案格式,但技術上來說,就是一個 SQLite 的檔案。
當 App 需要離線的圖層套疊時,MBTiles 就是很好的解決方案之一。
這個部分在未來的文章中,也將使用 國土測繪服務雲 所提供的 臺灣通用電子地圖(套疊等高線)MBTiles檔來做套疊練習。
Well-known Text (WKT) 是由開放地理空間協會 (OGC) 所訂定的純文字標記語言(text markup language),用來表示點、線、面等向量資料。
以多邊形 Polygon 來說,其 WKT 可能會是像這樣:
POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))
實務上,App 可能讀取來自 Web API 或 Spatialite 中的 WKT,並將其呈現在圖台上。又或者,將使用者在圖台上繪製或標記的成果轉成 WKT 格式儲存或傳輸。
GeoJSON 是基於 JSON 的地理空間資料格式,使用 WGS84 作為參考座標系統。
以一個單點來說,其 GeoJSON 可能會是這樣:
{
"type": "Point",
"coordinates": [30, 10]
}
實務上跟 WKT 一樣,是常見的空間資料交換格式,Google 所提供的 Directions API (導航路線)回傳的就是 GeoJSON。
以上就是今天所要聊的內容,明天將會帶大家看看,Android 中常與 GIS 服務結合的 GPS 定位功能該怎麼實作。
謝謝您耐心地閱讀,我們明天見囉~